// payment.js - 支付相关API
import request from '../plugins/axios';

// 支付方式配置 - 保留静态数据，用于前端显示
const paymentMethods = [
  { id: 0, name: '支付宝', icon: 'alipay', available: true },
  { id: 1, name: '微信支付', icon: 'wechat', available: true },
  { id: 2, name: '银行卡', icon: 'bank-card', available: true },
  { id: 3, name: '账户余额', icon: 'wallet', available: true }
];

// 根据支付类型获取名称
const getPaymentTypeName = (type) => {
  return type === 0 ? '停车费' : '预约费';
};

// 根据支付方式获取名称
const getPaymentMethodName = (methodId) => {
  const method = paymentMethods.find(m => m.id === methodId);
  return method ? method.name : '未知';
};

// 生成订单号
const generateOrderNumber = () => {
  const prefix = 'SP';
  const date = new Date();
  const dateStr = date.getFullYear().toString().substring(2) +
                 (date.getMonth() + 1).toString().padStart(2, '0') +
                 date.getDate().toString().padStart(2, '0');
  const random = Math.floor(Math.random() * 10000).toString().padStart(4, '0');
  return `${prefix}${dateStr}${random}`;
};

// 获取支付记录列表 - 使用真实API
export function getPaymentRecords(params = {}) {
  return request({
    url: '/api/payments',
    method: 'get',
    params
  });
}

// 获取支付记录详情 - 使用真实API
export function getPaymentDetail(id) {
  return request({
    url: `/api/payments/${id}`,
    method: 'get'
  });
}

// 获取支付记录统计信息 - 使用真实API
export function getPaymentStats() {
  return request({
    url: '/api/payments/statistics',
    method: 'get'
  });
}

// 获取支付方式 - 使用真实API
export function getPaymentMethods() {
  return request({
    url: '/api/payments/payment-methods',
    method: 'get'
  });
}

// 获取用户余额 - 使用真实API
export function getUserBalance() {
  return request({
    url: '/api/user/balance',
    method: 'get'
  });
}

// 充值余额 - 使用真实API
export function rechargeBalance(amount) {
  return request({
    url: '/api/user/balance/recharge',
    method: 'post',
    data: { amount }
  });
}

// 创建支付订单 - 使用真实API
export function createPayment(data) {
  return request({
    url: '/api/payments',
    method: 'post',
    data
  });
}

// 处理支付 - 使用真实API
export function processPayment(id, paymentMethod, transactionId) {
  return request({
    url: `/api/payments/${id}/complete`,
    method: 'put',
    params: {
      transactionId
    },
    data: {
      paymentMethod
    }
  });
}

// 取消支付 - 使用真实API
export function cancelPayment(id, remark) {
  return request({
    url: `/api/payments/${id}/cancel`,
    method: 'put',
    params: {
      remark
    }
  });
}

// 申请退款 - 使用真实API
export function refundPayment(id, remark) {
  return request({
    url: `/api/payments/${id}/refund`,
    method: 'put',
    params: {
      remark
    }
  });
}

// 根据订单号查询支付记录 - 使用真实API
export function getPaymentByOrderNumber(orderNumber) {
  return request({
    url: `/api/payments/order/${orderNumber}`,
    method: 'get'
  });
} 